// 导入不同的枚举类型，用于统一管理应用的配置选项
import { SizeEnum } from "./enums/SizeEnum";
import { LayoutEnum } from "./enums/LayoutEnum";
import { ThemeEnum } from "./enums/ThemeEnum";
import { LanguageEnum } from "./enums/LanguageEnum";

// 获取应用的元信息，如名称和版本
const { pkg } = __APP_INFO__;

// 检测用户的设备偏好色彩模式，以决定使用暗色或亮色主题
const mediaQueryList = window.matchMedia("(prefers-color-scheme: dark)");

// 定义应用的默认设置
const defaultSettings: AppSettings = {
  title: pkg.name, // 应用名称
  version: pkg.version, // 应用版本
  showSettings: true, // 是否显示设置面板
  tagsView: true, // 是否启用标签视图
  fixedHeader: true, // 是否固定头部
  sidebarLogo: true, // 是否显示侧边栏的 logo
  layout: LayoutEnum.LEFT, // 布局方式，左侧布局
  theme: mediaQueryList.matches ? ThemeEnum.DARK : ThemeEnum.LIGHT, // 根据用户偏好设置主题
  size: SizeEnum.DEFAULT, // 默认组件尺寸
  language: LanguageEnum.ZH_CN, // 默认语言设置为简体中文
  themeColor: "#4080FF", // 主题颜色
  watermarkEnabled: false, // 是否启用水印
  watermarkContent: pkg.name, // 水印内容为应用名称
};

// 导出默认设置以供其他模块使用
export default defaultSettings;
